d5dfd6bcff6596821b3c6acaab284f9938e3fc17,src/ro/nextreports/engine/chart/JFreeChartExporter.java,JFreeChartExporter,createBarChart,#boolean#boolean#boolean#,375
Before Change
if (stacked) {
jfreechart = ChartFactory.createStackedBarChart(
chartTitle, // chart title
replaceParameters(chart.getXLegend().getTitle()), // x-axis Label
replaceParameters(chart.getYLegend().getTitle()), // y-axis Label
barDataset, // data
plotOrientation, // orientation
true, // include legend
After Change
private JFreeChart createBarChart(boolean horizontal, boolean stacked, boolean isCombo) throws QueryException {
barDataset = new DefaultCategoryDataset();
String chartTitle = replaceParameters(chart.getTitle().getTitle());
chartTitle = StringUtil.getI18nString(chartTitle, I18nUtil.getLanguageByName(chart, language));
Object[] charts;
List<String> legends;
Object[] lineCharts = null;
String lineLegend = null;
if (isCombo) {
lineCharts = new Object[1];
if (chart.getYColumnsLegends().size() < chart.getYColumns().size()) {
lineLegend = "";
} else {
lineLegend = chart.getYColumnsLegends().get(chart.getYColumns().size()-1);
}
charts = new Object[chart.getYColumns().size()-1];
legends = chart.getYColumnsLegends().subList(0, chart.getYColumns().size()-1);
} else {
charts = new Object[chart.getYColumns().size()];
legends = chart.getYColumnsLegends();
}
boolean hasLegend = false;
for (int i = 0; i < charts.length; i++) {
String legend = "";
try {
legend = replaceParameters(legends.get(i));
legend = StringUtil.getI18nString(legend, I18nUtil.getLanguageByName(chart, language));
} catch (IndexOutOfBoundsException ex){
// no legend set
}
// Important : must have default different legends used in barDataset.addValue
if ((legend == null) || "".equals(legend.trim())) {
legend = DEFAULT_LEGEND_PREFIX + String.valueOf(i+1);
} else {
hasLegend = true;
}
charts[i] = legend;
}
if (isCombo) {
String leg = "";
if (lineLegend != null) {
leg = replaceParameters(lineLegend);
}
lineCharts[0] = leg;
}
byte style = chart.getType().getStyle();
JFreeChart jfreechart;
String xLegend = StringUtil.getI18nString(replaceParameters(chart.getXLegend().getTitle()), I18nUtil.getLanguageByName(chart, language));
String yLegend = StringUtil.getI18nString(replaceParameters(chart.getYLegend().getTitle()), I18nUtil.getLanguageByName(chart, language));
PlotOrientation plotOrientation = horizontal ? PlotOrientation.HORIZONTAL : PlotOrientation.VERTICAL;
if (stacked) {
jfreechart = ChartFactory.createStackedBarChart(